Method and apparatus for color correction of color devices for various operating conditions

ABSTRACT

Methods and apparatuses for color correction of color device for various operating conditions. In at least one embodiment of the present invention, operating under a current condition, a color correction operation that is derived from color correction operations defined for other conditions is performed on the color data. In another embodiment, a device profile for managing colors for a color device operating under one condition is interpolated from the device profiles for the color device operating under other conditions (e.g., based on the input received from a user interface according to the perception of the user or based on the measurement of a sensor). The interpolation can be based on the input received from a user interface according to the perception of the user or it can be based on the measurement of a sensor or a set of sensors. Various operating conditions for a color device (e.g., a scanner, a camera, a video camera, a printer, a display device such as a CRT monitor or an LCD display panel, a television set, or others) include chromaticity and illumination of ambient light, background color for a display device, characteristics of print media for a printer, humidity, temperature, pressure and ink level for an ink jet printer, the age of a light source for a scanner, and others.

This application is a divisional of U.S. patent application Ser. No.10/419,001 filed on Apr. 18, 2003.

FIELD OF THE INVENTION

The invention relates to color devices, and more particularly to colorcorrection for various operating conditions.

BACKGROUND OF THE INVENTION

Color devices include input devices (e.g., scanners, still cameras,video cameras), output devices (e.g., printers), and display devices(e.g., Cathode Ray Tube (CRT) monitors, LCD display panels, television(TV) sets, high definition television sets). The operation of a colordevice is typically influenced by a number of operating conditions. Forexample, the scanned image of a scanner may be influenced by the age ofthe light source of the scanner; the appearance of the output of aprinter under a standard viewing condition may be influenced by thecharacteristic of print media (e.g., paper) and ink level, as well asenvironment conditions such as humidity, temperature and pressure. Theappearance of the image on a display device can be influenced by thebackground color, the intensity and color of the reflected ambientlight.

Many methods to adjust the operation of color devices have beendeveloped to account for the influence of environment conditions. Forexample, a television set can have a light sensor to automaticallyadjust the brightness level of the television set according to intensityof the ambient light detected by the light sensor. When the ambientlight is bright (e.g., in the day time), the brightness of thetelevision set is automatically increased; and when the ambient light isdim (e.g., at night), the brightness of the television set isautomatically decreased.

Due to the variation of the ambient illumination and the observationconditions, the color on a screen may be perceived differently from oneviewing condition to another. For example, a gray color may be perceivedto be neutral (without color cast) in an office environment but pinkishin the daylight ambient illumination. A more complex situation may arisein the presence of mixed illuminants, for example when the fluorescentlight in an office is mixed with the daylight coming through thewindows. The viewing condition of a portable computer may changefrequently, since the portable computer may be frequently moved tovarious locations of different environment conditions.

To account for the ambient illumination, some display systems (e.g., asdescribed in U.S. Pat. Nos. 5,670,985 and 5,726,672) compensate theoutput of a device to offset the reflected ambient illumination. Afterthe user determines the color and intensity of the reflected ambientillumination, the processor uses the tristimulus values of the ambientillumination to determine the bias setting of the device to compensateall outputs generated by the output device for the ambient illuminationreflected from the device. The reflected ambient light is subtractedfrom the displayed color so that the resulting color on the display,under the influence of the ambient light, is the same (having the sametristimulus values) as the color displayed without the influence of theambient light. In such an approach, the color correction is based on theinstrumental measurements (e.g., tristimulus values) of the color. Theperception of color from the user and the adaptation of the observer tothe ambient illumination and the background colors in the surroundingenvironment are not considered. However, as the ambient light changes,the adaptation of the observer to the environment causes the observer tochange the perception of the color on the screen, even if the color onthe screen is corrected to remain colorimetrically the same according tothe instrumental measurements. Thus, user experiences show that coloradjusted (corrected) in this way may be perceived as having a hue shift(a color cast); and, such an approach may not be the preferred solutionfrom the point of view of perceived color for an observer.

Some systems allow users to select a white point (e.g., along a blackbody curve, which represents the color of the light emitted by atheoretical “black body” at different absolute temperatures) and thetarget gamma, a well known parameter that characterizes the nonlinearintensity correction for CRT signals. However, adjusting the white pointtemperature and the target gamma may not be enough to compensate theinfluence of the ambient light. For example, when the screen colorappears to have a hue shift of colors other than greenish or pinkish(purplish), the adjustment of the white point temperature may not beable to correct the color and remove the hue shift. If the display iscalibrated for daylight illumination, the display may look greenishunder office fluorescent illuminant; and, there is no way to correctsuch a hue shift based on the white point temperature adjustment; thismay cause frustration for the user in not being able to adjust the colorof the display to its preferences with the limited resources availablefor changing only the white point temperature of the display.

A color correction operation typically includes gamma correction, whitepoint correction, color matching (or mapping), and others. It isunderstood that, in this application, the typical adjustment of thebrightness level of a display device, which may be performed manually bya user through a control button or automatically according to themeasurement of a light sensor, is not considered a color correctionoperation.

SUMMARY OF THE DESCRIPTION

Methods and apparatuses for color correction of color device for variousoperating conditions are described here.

In at least one embodiment of the present invention, a color correctionoperation is performed for a color device operating under a currentcondition. The color correction operation for the current condition isderived through interpolation of device profiles that are defined forother conditions. The interpolation can be based on the input receivedfrom a user interface according to the perception of the user; or, itcan be based on the measurement of a sensor (or a set of sensors). Thecolor device can be a scanner, a camera, a video camera, a printer, adisplay device such as a CRT monitor or an LCD display panel, atelevision set, or others. Operating conditions for a color device caninclude chromaticity and illumination of ambient light, background colorfor a display device, characteristics of print media for a printer,humidity, temperature, pressure and ink level for an ink jet printer,the age of a light source for a scanner, among others.

In another aspect of the invention, a method for managing colors for acolor device includes the generation of a first device profile for thecolor device from a plurality of second device profiles for the colordevice. The first device profile corresponds to the color deviceoperating under a first condition; and, the plurality of second deviceprofiles correspond to the color device operating under a plurality ofsecond conditions. In one example, color correction is performed for thecolor device operating under the first condition using the first deviceprofile (e.g., by converting between a first color data for the colordevice operating under the first condition and a second color dataaccording to the first device profile). In another example, each of thefirst condition and the plurality of second conditions is quantified byat least one parameter; and, the first device profile is generated froman interpolation of the plurality of second device profiles according tothe at least one parameter. Each of the first device profile and theplurality of second device profiles is defined in a device profilespace; and, the interpolation according to the at least one parameter isconstrained in a subspace of the device profile space. The first deviceprofile is generated from a combination of the plurality of seconddevice profiles according to an input that indicates a relation betweenthe first condition and the plurality of second conditions. In anotherexample, the input is received from a sensor, which quantifies at leastone parameter for the first condition; and, the first device profile isgenerated from an interpolation of the plurality of second deviceprofiles according to the at least one parameter. In another example,the input is received from a user interface; the input specifies weightsfor the plurality of second device profiles; the first device profile isan average of the plurality of second device profiles weighted accordingto the weights; feedback is provided to demonstrate one or more colors(e.g., a plurality of grays including white and black) correctedaccording to the first device profile in response to the input. Inanother example, the color device is a display device; and, the feedbackis displayed on the display device operating under the first condition.

In another aspect of the invention, a method for correcting color for acolor device operating under various conditions includes performing afirst color correction operation for the color device operating under afirst condition according to a first input and a plurality of secondcolor correction operations for the color device operating under aplurality of second conditions, where the first input indicates arelation between the first condition and the plurality of secondconditions. In one example, input is received from a user interface todefine the plurality of second color correction operations for the colordevice operating under the plurality of second conditions and tocalibrate the plurality of second color correction operations accordingto the perspective of a user; the plurality of second color correctionoperations correct a color data for a plurality of grays (e.g., blackand white) to maintain a consistent white point according to theperspective of the user for the color device operating under theplurality of second conditions respectively. In another example, thefirst input is received from a sensor, which quantifies at least oneparameter; the first input comprises the at least one parameter for thefirst condition; and, the first color correction operation is aninterpolation of the plurality of second color correction operationsaccording to the at least one parameter. In another example, the firstinput is received from a user interface; the first input specifiesweights for the plurality of second conditions; and, the first colorcorrection operation is an average of the plurality of second colorcorrection operations weighted according to the weights. Feedback isprovided to demonstrate one or more colors (e.g., a plurality of grays)corrected by the first color correction operation in response to thefirst input. In one example, the color device is a display device; and,the feedback is displayed on the color device operating under the firstcondition. In another example, a first device profile is generated forthe color device operating under the first condition from the firstinput and a plurality of second device profiles, which correspond to theplurality of second color correction operations for the color deviceoperating under the plurality of second conditions respectively. Thefirst color correction operation is performed by applying the firstdevice profile (e.g., by converting between a first color data for thecolor device operating under the first condition and a second color dataaccording to the first device profile). In one example, each of thefirst device profile and the plurality of second device profiles aredefined in a device profile space; and, the first device profile isgenerated from an interpolation constrained in a subspace of the deviceprofile space according to the first input.

The present invention includes methods and apparatuses which performthese methods, including data processing systems which perform thesemethods, and computer readable media which when executed on dataprocessing systems cause the systems to perform these methods.

Other features of the present invention will be apparent from theaccompanying drawings and from the detailed description that follow.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention is illustrated by the way of example and notlimitation in the figures of the accompanying drawings in which likereferences indicate similar elements.

FIG. 1 shows a block diagram example of a data processing system whichmay be used with the present invention.

FIG. 2 illustrates examples of color conversion using a device profilefor a color device.

FIGS. 3-5 show a method to generate device profiles for variousenvironment conditions.

FIG. 6 shows a method to estimate a device profile for an environmentcondition from device profiles for other environment conditionsaccording to one embodiment of the present invention.

FIG. 7 shows a method to use a sensor to control a display deviceaccording to the environment condition according to one embodiment ofthe present invention.

FIG. 8 shows a method to compensate the ambient light measured by asensor.

FIG. 9 shows a method to correlate device profile with sensormeasurement according to one embodiment of the present invention.

FIG. 10 shows a method to automatically perform color correction usingthe measurement from a sensor and the device profiles for differentenvironment conditions correlated with sensor measurements.

FIG. 11 shows a method to generate a device profile in an environmentcondition based on the user preference according to one embodiment ofthe present invention.

FIG. 12 shows a method to perform color correction based on user inputand user preferences for different environment conditions according toone embodiment of the present invention.

FIG. 13 shows a method to correlate user preference with sensormeasurement according to one embodiment of the present invention.

FIG. 14 shows a method to automatically perform color correction usingthe measurement from a sensor and the user preferences for differentenvironment conditions correlated with sensor measurements.

FIG. 15 shows a Graphical User Interface (GUI) for receiving user inputto interpolate between three device profiles for color correctionaccording to one embodiment of the present invention.

FIG. 16 shows a Graphical User Interface (GUI) for receiving user inputto interpolate between two device profiles for color correctionaccording to one embodiment of the present invention.

FIGS. 17-18 illustrate the interpolation of device profiles in reduceddevice spaces according to one embodiment of the present invention.

FIGS. 19-21 illustrate flow charts of color correction methods accordingto embodiments of the present invention.

DETAILED DESCRIPTION

The following description and drawings are illustrative of the inventionand are not to be construed as limiting the invention. Numerous specificdetails are described to provide a thorough understanding of the presentinvention. However, in certain instances, well known or conventionaldetails are not described in order to avoid obscuring the description ofthe present invention.

FIG. 1 shows one example of a typical computer system that may be usedwith the present invention. Note that while FIG. 1 illustrates variouscomponents of a computer system, it is not intended to represent anyparticular architecture or manner of interconnecting the components assuch details are not germane to the present invention. It will also beappreciated that network computers and other data processing systemsthat have fewer components or perhaps more components may also be usedwith the present invention. The computer system of FIG. 1 may, forexample, be an Apple Macintosh computer.

As shown in FIG. 1, the computer system 101, which is a form of a dataprocessing system, includes a bus 102 that is coupled to amicroprocessor 103 and a ROM 107 and volatile RAM 105 and a non-volatilememory 106. The microprocessor 103, which may be, for example, a G3 orG4 microprocessor from Motorola, Inc. or IBM is coupled to cache memory104 as shown in the example of FIG. 1. The bus 102 interconnects thesevarious components together and also interconnects these components 103,107, 105, and 106 to a display controller and display device 108 and toperipheral devices such as input/output (I/O) devices which may be mice,keyboards, modems, network interfaces, printers, scanners, video camerasand other devices which are well known in the art. Typically, theinput/output devices 110 are coupled to the system through input/outputcontrollers 109. The volatile RAM 105 is typically implemented asdynamic RAM (DRAM) that requires power continually in order to refreshor maintain the data in the memory. The non-volatile memory 106 istypically a magnetic hard drive or a magnetic optical drive or anoptical drive or a DVD RAM or other type of memory systems that maintaindata even after power is removed from the system. Typically, thenon-volatile memory will also be a random access memory although this isnot required. While FIG. 1 shows that the non-volatile memory is a localdevice coupled directly to the rest of the components in the dataprocessing system, it will be appreciated that the present invention mayutilize a non-volatile memory which is remote from the system, such as anetwork storage device which is coupled to the data processing systemthrough a network interface such as a modem or Ethernet interface. Thebus 102 may include one or more buses connected to each other throughvarious bridges, controllers and/or adapters as is well known in theart. In one embodiment the I/O controller 109 includes a USB (UniversalSerial Bus) adapter for controlling USB peripherals, and/or an IEEE-1394bus adapter for controlling IEEE-1394 peripherals.

It will be apparent from this description that aspects of the presentinvention may be embodied, at least in part, in software. That is, thetechniques may be carried out in a computer system or other dataprocessing system in response to its processor, such as amicroprocessor, executing sequences of instructions contained in amemory, such as ROM 107, volatile RAM 105, non-volatile memory 106,cache 104 or a remote storage device. In various embodiments, hardwiredcircuitry may be used in combination with software instructions toimplement the present invention. Thus, the techniques are not limited toany specific combination of hardware circuitry and software nor to anyparticular source for the instructions executed by the data processingsystem. In addition, throughout this description, various functions andoperations are described as being performed by or caused by softwarecode to simplify description. However, those skilled in the art willrecognize what is meant by such expressions is that the functions resultfrom execution of the code by a processor, such as the microprocessor103.

A machine-readable medium can be used to store software and data whichwhen executed by a data processing system causes the system to performvarious methods of the present invention. This executable software anddata may be stored in various places including for example ROM 107,volatile RAM 105, non-volatile memory 106 and/or cache 104 as shown inFIG. 1. Portions of this software and/or data may be stored in any oneof these storage devices.

Thus, a machine-readable medium includes any mechanism that provides(i.e., stores and/or transmits) information in a form accessible by amachine (e.g., a computer, network device, personal digital assistant,manufacturing tool, any device with a set of one or more processors,etc.). For example, a machine-readable medium includesrecordable/non-recordable media (e.g., read only memory (ROM); randomaccess memory (RAM); magnetic disk storage media; optical storage media;flash memory devices; etc.), as well as electrical, optical, acousticalor other forms of propagated signals (e.g., carrier waves, infraredsignals, digital signals, etc.); etc.

At least one embodiment of the present invention seeks to perform acolor correction operation for a color device operating under a currentcondition based on the color correction operations defined for the colordevice operating under other conditions; and, interpolations, based onuser input or sensor measurements, are performed to derived the colorcorrection operation for the current operating condition from the colorcorrection operations for the other operating conditions. Many examplesare illustrated using a display device (e.g., a computer monitor, an LCDdisplay panel, a color TV). However, from this description, it will beapparent to one skilled in the art that many methods of the presentinvention illustrated using a display device can also be used for othercolor devices, such as scanners and printers.

FIG. 2 illustrates a device profile for a color device. A device profilecharacterizes the relation between the color data (e.g., colorcomponents detected, color components to be printed or displayed) forthe device and the color on the device (e.g., color to be scanned, colorprint-out, or color displayed). Color data for the device is generatedfrom or used to generate the color on the color device. A typical deviceprofile 201 includes data for converting between color on device 205,which is typically represented in a device independent color space(e.g., L*a*b*) as a result of instrumental measurements, and color data203, which is typically represented in a device dependent color space(e.g., RGB) as a signal generating, or being generated from, the coloron device. For example, data 207 is used to convert color data 203 tocolor on device 205; and, data 209 is used to convert color on device205 to color data 203. Thus, device profile 201 is essentially a digitalrepresentation of the color conversion capability of the color device.The device profile can be in terms of a gamma, a look up table or matrixfor chromaticity data, and/or other parameters. Typically, the deviceprofile is represented in a multi-dimensional space.

When a color data is converted to the color on the device according to adevice profile and converted back to another color data according toanother device profile, the result is a color correction to account forthe differences between the devices. Thus, a number of device profilescan be created for a color device operating under a number of differentconditions so that color correction can be performed using the deviceprofiles.

However, it is understood that color correction operations may not bebased on device profiles. For example, a color correction operation maybe represented in terms of a conversion function (or a look up table)that maps uncorrected color data to corrected color data.

FIGS. 3-5 show a method to generate device profiles for variousenvironment conditions. In FIG. 3, the color on display 301 driven bycolor data 303 in a dark room is measured by instrument 305 to producecolor measurements 341. Typically, a number of different colormeasurements corresponding to a number of different color data fordriving the display are used to generate device profile 351 for thedisplay in a dark room.

Similarly, in FIG. 4, the color on display 301 driven by color data 303in a room with window 307 is measured by instrument 305 to produce colormeasurements 343. Since daylight 309 coming through window 307 isreflected by display 301, measurements 343 include the contributionsboth from the reflected daylight and from the light driven by color data303. Thus, the generated device profile 353 includes the influence ofthe daylight. Similarly, in FIG. 5, measurements 345 include thereflected light from illuminant 308; and, device profile 355 includesthe influence of the ambient light due to illuminant 308.

Device profiles 351, 353, 355 for display device 301 under differentviewing condition can be used to perform color corrections. For example,color correction can be performed to match the measured color displayedin a dark room and the measured color displayed under daylight 309 orunder illuminant 308.

When display device 301 is operating under a mixture of daylight 309 andilluminant 308, as illustrated in FIG. 6, device profiles 353 and 355can be used to estimate a device profile for the display in the mixedillumination condition. Through an interpolation scheme (a weightedaveraging scheme, or other schemes for combination), device profile 361is computed from device profiles 353 and 355. Thus, the view conditionwith the mixed illumination condition can be accounted for withouthaving to perform detailed measurements with an instrument.

FIG. 7 shows a method to use a sensor to control a display deviceaccording to the environment condition according to one embodiment ofthe present invention. Sensor 311 quantified the view condition from itsmeasurement. Display control 315 generates color data 303 from colordata 313 according to the measurement of the sensor to compensate forthe influence of the view condition. In one embodiment of the presentinvention, color data 313 is corrected so that the color perceived byuser 317 is the same as (or close to) the color perceived without theinfluence of the ambient light. More details are described below.

FIG. 8 shows a method to compensate the ambient light measured by asensor. Sensor 311 measures the ambient light from illuminants 308 and309. From device profile 351 for the display operating in a dark roomand the measurement of the ambient light, device profile 363 is generatefor the current viewing condition, which can be used to control displaycontrol 315 to perform color correction.

However, the color correction according to device profile 363 (or 353)accounts for only the influence of the ambient light to the measuredcolor; and, no adaptation of the user to the environment is considered.In one embodiment of the present invention, a device profile alsoincludes the user preference in how the user sees the color correction.The perception of the user is “the instrument” that tells the user whatis the correct perceptual profile for a viewing environment. In oneviewing environment, the user prefers a certain adjustment; in anotherviewing environment, the user may prefer a different adjustment. Indifferent environments, the differences in colorimetric measurementscannot account for the differences in perceived color experienced by theuser. The difference in color perceived by the user in different viewingenvironment is coming from the fact that the eyes of the user adapt tothe environment according to the viewing condition. The environment ismostly reflective; and therefore, its color is mostly dependent on theincident ambient light. However, the surface of a display screen istypically self luminous; and, the color perceived from the screen in theenvironment of a viewing condition is a mixture of the influence of theincident light and the color produced by the screen itself. Thus, theperceived color changes differently from the color of the environment asthe result of the chance in viewing conditions. Therefore, the deviceprofile created in one viewing condition according to the perception ofa user is different from the device profile created for the same viewingconditions according to the colorimetric measurements, where thedifference accounts for the influence of the viewing environment on theuser perception to the perceived color on the screen. In other words theuser adaptation changes once the viewing environment is changed, whichinfluences the perceived color from the screen. Examples of deviceprofiles that include the user preferences in how the user sees thecolor correction are described further below.

Further, the accuracy of the color correction based on device profile363 depends on deriving an accurate measurement of the reflected ambientlight from the measurement of sensor 311. The measurement of sensor 311typically is not as accurate as instrument 317 for reduced cost.Further, the measurement of sensor 311 does not include thecharacteristics of the display in reflecting the ambient light. Thus,device profile 363 may be adjusted in order to perform high qualitycolor correction.

FIG. 9 shows a method to correlate device profile with sensormeasurement according one embodiment of the present invention. Similarto generating device profile 353 in FIG. 4, device profile 357 isobtained from measurement 347 of instrument 317 under the daylightillumination through window 307. The measurement of sensor 311 isquantified to correlate the condition of the ambient light with thedevice profile. Once the measurement of the sensor is correlated with anumber of device profiles under different illumination conditions, themeasurement of the sensor can be used to estimate a device profile forthe current illumination condition from the known device profiles.

FIG. 10 shows a method to automatically perform color correction usingthe measurement from a sensor and the device profiles for differentenvironment conditions correlated with sensor measurements. Sincemeasured device profiles 357 and 359 are correlated with the measurementof sensor 311, the measurement of sensor 311 can be used to generatedevice profile 365 from an interpolation based on device profiles 357and 359. Display control 315 is then automatically controlled by thecurrent device profile (e.g., 365) to perform color correction.

FIG. 11 shows a method to generate a device profile in an environmentcondition based on the user preference according to one embodiment ofthe present invention. A user interface 321 is used for the user toadjust display control 315 to perform color correction according to thepreference of user 317. User 317 interactively adjusts the controls ofuser interface 321, which may be displayed on display 301, to generateuser preference 371 and view the result generated according to the userpreference. When the user is satisfied with the color adjustments,device profile 381 generated from user preference 371 (e.g., fromcombining the user preference 371 and a dark room profile 351) is usedfor the color correction of display 301.

FIG. 12 shows a method to perform color correction based on user inputand user preferences for different environment conditions according toone embodiment of the present invention. When the user has a number ofdevice profiles generated for a number of different viewing conditions,user interface 323 can be used by user to select an interpolation of thedevice profiles so that resulting device profile 367 provides asatisfactory color correction according to the perception of the user.An interpolation of the device profiles constrains the resulting deviceprofile in a reasonable region in the device profile space so that theuser can easily accomplish the task. Since selecting an interpolation istypically much easier than adjusting the user preference through userinterface 321, a user can easily select a satisfactory device profilefor color correction under the current viewing condition from userinterface 323. In one embodiment of the present invention, a pluralityof colors (e.g., grays) are displayed on user interface 323 on display301 according to the current device profile 367 so that the user caninteractively select a satisfactory device profile. When a plurality ofdifferent gray values(including black and white) are displayed, the usercan adjust the device profile to maintain a consistent white point. Whenthe user selects a satisfactory device profile, the adaptation of theuser to the environment is also taken into account.

FIG. 13 shows a method to correlate user preference with sensormeasurement according one embodiment of the present invention. Similarto correlating device profiles measured by an instrument with themeasurement of a sensor, the preference of the user and thecorresponding device profile can be correlated with the measurement ofthe sensor. Once the device profile (e.g., profile 387) calibratedaccording to the user preference (e.g., preference 377) is correlatedwith the sensor measurement, an interpolation operation can beautomatically performed to obtain the current device profile accordingto the sensor measurement, as illustrated in FIG. 14. FIG. 14 shows amethod to automatically perform color correction using the measurementfrom a sensor and the user preferences for different environmentconditions correlated with sensor measurements. Device profile 369 isgenerated from an interpolation of device profiles 387 and 389 accordingto the sensor measurement. Since device profiles 387 and 389 arecalibrated according to the preference of the user, the perception andadaptation of the user is also included in the generated device profile369.

FIG. 15 shows a Graphical User Interface (GUI) for receiving user inputto interpolate between three device profiles for color correctionaccording to one embodiment of the present invention. Window 401 hastitle bar 403, which contains buttons 411, 413 and 415 for maximizing,minimizing and closing window 401. Window 401 displays triangle 405 thatrepresents the region of device profile interpolated from deviceprofiles represented by icons 421, 423 and 425. For example, icon 421represents the device profile of a display operating under the daylightillumination; icon 423 represents the device profile of the displayoperating under incandescent (or fluorescent) light illumination; andicon 425 represents the device profile of the display operating in adark room. Circle 437 represents the desired combination of the threedevice profiles. When circle 437 is selected (e.g., by dragged by cursor427, selected by cursor 427, or commanded through a voice recognitionsystem) to be coincide with point 431 (or 433, or 435), the deviceprofile represented by icon 421 (or 423, or 435) is used; when circle437 is located at other positions, a device profile computed from aninterpolation (e.g., a weighted average) from the device profilesrepresented by icons 421, 423 and 425 is used. For example, a weightedaverage procedure can be used to combined the device profiles; and, theweights for the corresponding device profiles are determined from theposition of circle 437 relative to points 431, 433 and 435 (e.g., theweights for device profiles are proportional to the area of triangles,each of which is formed by circle 437 and two of the three vertices oftriangle 405). In one embodiment of the present invention, anextrapolation is performed when circle 437 is located outside triangle405. It is understood in this application that an extrapolation is aspecial form of an interpolation scheme. When the position of circle 437is selected, a device profile is computed and used to display a numberof colors (e.g., grays) to provide the feedback of the color correctedaccording to the current device profile. For example, a number of grays(e.g., 441) can be displayed so that a user can adjust the position ofcircle 437 to obtain white point consistent gray levels (e.g., toeliminate the color cast, or hue shift, for the current viewingcondition).

FIG. 16 shows a Graphical User Interface (GUI) for receiving user inputto interpolate between two device profiles for color correctionaccording to one embodiment of the present invention. Similar totriangle 405, scroll bar 507 is used for a user to select a combinationof the device profiles represented by icons 503 and 505. A user maycontrol cursor 511 to drag thumb 509 to the left end of the scroll barto select the device profile represented by icon 503, to the right endof the scroll bar to select the device profile represented by icon 505,or to a position in between to select a particular combination of thetwo device profiles. A number of blocks (e.g., block 513) is used todisplay of the gray levels according to the current display deviceprofile under the current viewing condition. A user can interactiveadjust the position of thumb 509 to obtain a preferred display of graylevels.

Although FIGS. 15 and 16 illustrate examples of user interfaces forselecting a combination of device profiles according to the preferenceof a user, it would be apparent from this description to one skilled inthe art that various different implementations can be used to provide anuser interface for interactively selecting a combination from a numberof device profiles. Since the device profiles represented by the iconsin FIGS. 15 and 16 are used for defining an interpolation, these deviceprofiles do not have to be real device profiles. These device profilescan be obtained according to the method in FIG. 4 from the measurementof an instrument, or according to the method in FIG. 11 based on thepreference of the user, or other methods. In one embodiment of thepresent invention, these device profiles are initially pre-designedaccording to the perception of one observer and calibrated by experts ofthe manufacture of the device. A user can first select user calibrateddevice profiles according to the perception of the user from theinterpolation of the pre-designed device profiles and then replace thesedevice profiles with the user calibrated device profiles.

FIGS. 17-18 illustrate the interpolation of device profiles in reduceddevice spaces according to one embodiment of the present invention.Typically, a device profile is represented in a multi-dimensional space.Thus, a user has the option to adjust a large number of parameters tospecify a preferred device profile for a given operating condition.However, unconstrained adjustments are difficult to achieve asatisfactory result and often not desirable for a user; and,over-constrained adjustments (e.g., based on the white pointtemperature) may not have greenish pinkish adjustments to providesatisfactory results. According to one embodiment of the presentinvention, the adjustment of the device profile is constrained to areduced device space based on a plurality of supporting device profiles.For example, in FIG. 17, two supporting device profiles 603 and 601 arerepresented as two points in the device space. An interpolation based onan input parameter constrains the adjustment of the device profile oncurve 607. Thus, it is much easy for an user to perform the adjustmentalong the curve (e.g., through the control of a stroll bar) to obtain asatisfactory result. An interpolation scheme can be used to define thepath of the curve. Without such constraints, a user may over adjustcertain parameters and be frustrated by the difficulty in getting adesirable result. Similarly, points 631, 633 and 635 in FIG. 18 can beused to define an interpolation surface 639 so that a user can easilyadjust the position of point 637 on the surface using an interpolationscheme. Typically, a device profile is represented by a large number ofparameters, which can be very difficult to adjust and controlindividually. When an interpolation scheme is used to combine aplurality of device profiles, the adjustment can be easily carried outby a user or performed automatically according to the measurement of asensor.

The support points (e.g., points 631, 633 and 635 in FIG. 18) in thedevice space are generated according to the preference of a user in oneembodiment of the present invention. A user may directly adjust theparameters of a device profile to generate a support point. Adjustingthe parameters of the device profile typically takes a longer period oftime to produce a satisfactory result. However, it gives the user thefull control to reach a preferred appearance. Alternatively, experts(e.g., the designer of the manufacturer) can perform the calibrationsfor various viewing conditions to provide the support points for a userto calibrate according to the preference of the user. Pre-designeddevice profiles (e.g., generated from the calibration by experts for thedevice at a number of extreme viewing conditions) that support a broadrange for adjustment the appearance of the display can be used assupport points in an interpolation scheme for a user to calibrateaccording to the preference of the user. Once the user calibrates thedevice profiles for a number of viewing conditions, an interpolation canbe performed based on the user calibrated device profiles. Further, theuser's calibration (e.g., using an interpolation of the pre-designeddevice profiles) can be correlated with the measurement of the sensorthat is attached to the display device so that the device profile can beautomatically adjusted from an interpolation scheme based on themeasurement of the sensor for the current viewing condition.

From this description, it would be apparent to one skilled in the artthat device profile interpolation can be used to provide easy andreliable ways to control a color device to correct colors for variousoperating conditions.

In various examples of the present invention, device profiles calibratedfor various operating conditions (e.g., viewing conditions) are used forcolors correction. However, it would be apparent to one skilled in theart that the methods for combining the device profiles can also be usedto combining color correction functions (e.g., user preferences) whenthe color correction operations are defined in terms of color correctionfunctions based on a device profile for a standard viewing condition(e.g., a display operated in a dark room). Since the color correctionfunctions define the modifications to the device profile for the deviceunder the standard viewing condition, the color correction functionsessentially define the device profiles for the device operating undervarious viewing conditions. Thus, color correction functions areconsidered as a representation of device profiles.

FIGS. 19-21 illustrate flow charts of color correction methods accordingto embodiments of the present invention.

FIG. 19 shows a method to perform color correction according to aplurality of device profiles calibrated for a plurality of conditions.After operation 701 receives an input that indicates a first environmentcondition of a color device (e.g., an input from a user interface, aninput from a sensor, and others), operation 703 generates a first deviceprofile for the color device in the first environment condition from theinput and a plurality of device profiles for the color device in aplurality of environment conditions. Operation 705 corrects color dataaccording to the first device profile for the device in the firstenvironment.

Color preferences of a user for a specific viewing condition areencapsulated in a device profile. FIG. 20 shows a method to performcolor correction according to a plurality of color preferencescalibrated for a plurality of conditions. After operation 711 receivesan input that indicates a first environment condition of a color device(e.g., an input from a user interface, an input from a sensor, andothers), operation 713 generates a first color preference for the colordevice in the first environment condition from the input and a pluralityof color preference for the color device in a plurality of environmentconditions. Operation 715 corrects color data according to the firstcolor preference for the device in the first environment.

FIG. 21 shows a method to calibrate the display according to the userpreference. Operation 721 determines a first color correction for acolor device in a first environment condition according to theperception of a user; and, operation 723 determines a second colorcorrection for the color device in a second environment conditionaccording to the perception of the user. After operation 725 receives aninput that indicates a third environment condition of the color device(e.g., an input from a user interface, an input from a sensor, andothers), operation 727 performs color correction for the color device inthe third environment condition according to the input and the first andsecond color correction. In one embodiment of the present invention, themeasurement of a sensor (or a number of sensors) is used to quantify theenvironment condition using one or more parameters. The first and secondcolor corrections are determined when the device is operated under thecorresponding environment conditions so that the measurement of sensorunder the first and second environment conditions are correlated withthe first and second color corrections; and, the color correction inoperation 727 is performed automatically according to the measurement ofthe sensor for the current environment.

Although many examples of the present invention are illustrated with adisplay device, it will be apparent to one skilled in the art from thisdescription that various methods of the present invention can also beused with other color devices, such as scanners and printers.

In the foregoing specification, the invention has been described withreference to specific exemplary embodiments thereof. It will be evidentthat various modifications may be made thereto without departing fromthe broader spirit and scope of the invention as set forth in thefollowing claims. The specification and drawings are, accordingly, to beregarded in an illustrative sense rather than a restrictive sense.

1. A method of color correction for a color device operating undervarious conditions, the method comprising: performing a first colorcorrection operation for the color device operating under a firstcondition according to a first input and a plurality of second colorcorrection operations for the color device operating under a pluralityof second conditions, the first input indicating a relation between thefirst condition and the plurality of second conditions.
 2. A method asin claim 1 further comprising: receiving a second input from a userinterface to define one of the plurality of second color correctionoperations for the color device operating under one of the plurality ofsecond conditions.
 3. A method as in claim 2 wherein the second inputcalibrates the one of the plurality of second color correctionoperations according to a perspective of a user for the color deviceoperating under the one of the plurality of second conditions.
 4. Amethod as in claim 3 wherein the one of the plurality of second colorcorrection operations corrects a color data for a plurality of grays tomaintain a consistent white point according to the perspective of theuser for the color device operating under the one of the plurality ofsecond conditions.
 5. A method as in claim 4 wherein the plurality ofgrays comprises at least one of: a) black; b) white.
 6. A method as inclaim 1 further comprising: receiving the first input from a userinterface.
 7. A method as in claim 6 wherein the first input specifiesweights for the plurality of second conditions; and the first colorcorrection operation is an average of the plurality of second colorcorrection operations weighted according to the weights.
 8. A method asin claim 7 further comprising: providing feedback to demonstrate one ormore colors corrected by the first color correction operation inresponse to the first input.
 9. A method as in claim 8 wherein the oneor more colors comprise a plurality of grays.
 10. A method as in claim 8wherein the color device comprises a display device; and, the feedbackis displayed on the display device operating under the first condition.11. A method as in claim 1 further comprising: receiving the first inputfrom a sensor.
 12. A method as in claim 11 wherein the sensor quantifiesat least one parameter; the first input comprises the at least oneparameter for the first condition; and, the first color correctionoperation is an interpolation of the plurality of second colorcorrection operations according to the at least one parameter.
 13. Amethod as in claim 1 further comprising: generating a first deviceprofile for the color device operating under the first condition fromthe first input and a plurality of second device profiles, the pluralityof second device profiles corresponding to the plurality of second colorcorrection operations for the color device operating under the pluralityof second conditions.
 14. A method as in claim 13 wherein each of thefirst device profile and the plurality of second device profiles isdefined in a device profile space; and, the first device profile isgenerated from an interpolation constrained in a subspace of the deviceprofile space according to the first input.
 15. A method as in claim 13further comprising: receiving a second input from a user interface todefine one of the plurality of second color correction operations forthe color device operating under one of the plurality of secondconditions; and generating a device profile for the color device underthe one of the plurality of second conditions from the second input anda device profile of the color device.
 16. A method as in claim 13wherein the first color correction operation is performed using thefirst device profile.
 17. A method as in claim 16 wherein saidperforming the first color correction operation comprises: convertingbetween a first color data for the color device operating under thefirst condition and a second color data according to the first deviceprofile.
 18. A method as in claim 1 wherein the color device comprisesone of: a) a scanner; b) a camera; c) a video camera; d) a printer; e) adisplay device; and f) a television set.
 19. A color device foroperation under various conditions, the device comprising: memory, thememory storing a representation of a plurality of second colorcorrection operations for the color device operating under a pluralityof second conditions; and a processor coupled to the memory, theprocessor performing a first color correction operation for the colordevice operating under a first condition according to the plurality ofsecond color correction operations and a first input which indicates arelation between the first condition and the plurality of secondconditions.
 20. A color device as in claim 19 wherein the processorreceives a second input from a user interface to define one of theplurality of second color correction operations for the color deviceoperating under one of the plurality of second conditions.
 21. A colordevice as in claim 20 wherein the second input calibrates the one of theplurality of second color correction operations according to aperspective of a user for the color device operating under the one ofthe plurality of second conditions.
 22. A color device as in claim 21wherein the one of the plurality of second color correction operationscorrects a color data for a plurality of grays to maintain a consistentwhite point according to the perspective of the user for the colordevice operating under the one of the plurality of second conditions.23. A color device as in claim 22 wherein the plurality of grayscomprises at least one of: a) black; b) white.
 24. A color device as inclaim 19 wherein the processor receives the first input from a userinterface.
 25. A color device as in claim 24 wherein the first inputspecifies weights for the plurality of second conditions; and the firstcolor correction operation is an average of the plurality of secondcolor correction operations weighted according to the weights.
 26. Acolor device as in claim 25 wherein the color device comprises a displaydevice; and the processor causes the display device to provide feedbackto demonstrate one or more colors corrected by the first colorcorrection operation in response to the first input.
 27. A color deviceas in claim 26 wherein the one or more colors comprise a plurality ofgrays.
 28. A color device as in claim 26 wherein the feedback isdisplayed on the display device operating under the first condition. 29.A color device as in claim 19 further comprising: a sensor coupled tothe processor, the processor receiving the first input from the sensor.30. A color device as in claim 29 wherein the sensor quantifies at leastone parameter; the first input comprises the at least one parameter forthe first condition; and, the first color correction operation is aninterpolation of the plurality of second color correction operationsaccording to the at least one parameter.
 31. A color device as in claim19 wherein the processor generates a first device profile for the colordevice operating under the first condition from the first input and aplurality of second device profiles; and, the plurality of second deviceprofiles correspond to the plurality of second color correctionoperations for the color device operating under the plurality of secondconditions.
 32. A color device as in claim 31 wherein each of the firstdevice profile and the plurality of second device profiles is defined ina device profile space; and, the first device profile is generated froman interpolation constrained in a subspace of the device profile spaceaccording to the first input.
 33. A color device as in claim 31 whereinthe processor receives a second input from a user interface to defineone of the plurality of second color correction operations for the colordevice operating under one of the plurality of second conditions; and,the processor generates a device profile for the color device under theone of the plurality of second conditions from the second input and adevice profile of the color device.
 34. A color device as in claim 31wherein the first color correction operation is performed using thefirst device profile.
 35. A color device as in claim 34 wherein theprocessor converts between a first color data for the color deviceoperating under the first condition and a second color data according tothe first device profile to perform the first color correctionoperation.
 36. A color device as in claim 19 wherein the color devicecomprises one of: a) a scanner; b) a camera; c) a video camera; d) aprinter; e) a display device; and f) a television set.
 37. A machinereadable medium containing executable computer program instructionswhich when executed by a digital processing system cause said system toperform a method of color correction for a color device operating undervarious conditions, the method comprising: performing a first colorcorrection operation for the color device operating under a firstcondition according to a first input and a plurality of second colorcorrection operations for the color device operating under a pluralityof second conditions, the first input indicating a relation between thefirst condition and the plurality of second conditions.
 38. A medium asin claim 37 wherein the method further comprises: receiving a secondinput from a user interface to define one of the plurality of secondcolor correction operations for the color device operating under one ofthe plurality of second conditions.
 39. A medium as in claim 38 whereinthe second input calibrates the one of the plurality of second colorcorrection operations according to a perspective of a user for the colordevice operating under the one of the plurality of second conditions.40. A medium as in claim 39 wherein the one of the plurality of secondcolor correction operations corrects a color data for a plurality ofgrays to maintain a consistent white point according to the perspectiveof the user for the color device operating under the one of theplurality of second conditions.
 41. A medium as in claim 40 wherein theplurality of grays comprises at least one of: a) black; b) white.
 42. Amedium as in claim 37 wherein the method further comprises: receivingthe first input from a user interface.
 43. A medium as in claim 42wherein the first input specifies weights for the plurality of secondconditions; and the first color correction operation is an average ofthe plurality of second color correction operations weighted accordingto the weights.
 44. A medium as in claim 43 wherein the method furthercomprises: providing feedback to demonstrate one or more colorscorrected by the first color correction operation in response to thefirst input.
 45. A medium as in claim 44 wherein the one or more colorscomprise a plurality of grays.
 46. A medium as in claim 44 wherein thecolor device comprises a display device; and, the feedback is displayedon the display device operating under the first condition.
 47. A mediumas in claim 37 wherein the method further comprises: receiving the firstinput from a sensor.
 48. A medium as in claim 47 wherein the sensorquantifies at least one parameter; the first input comprises the atleast one parameter for the first condition; and, the first colorcorrection operation is an interpolation of the plurality of secondcolor correction operations according to the at least one parameter. 49.A medium as in claim 37 wherein the method further comprises: generatinga first device profile for the color device operating under the firstcondition from the first input and a plurality of second deviceprofiles, the plurality of second device profiles corresponding to theplurality of second color correction operations for the color deviceoperating under the plurality of second conditions.
 50. A medium as inclaim 49 wherein each of the first device profile and the plurality ofsecond device profiles is defined in a device profile space; and, thefirst device profile is generated from an interpolation constrained in asubspace of the device profile space according to the first input.
 51. Amedium as in claim 49 wherein the method further comprises: receiving asecond input from a user interface to define one of the plurality ofsecond color correction operations for the color device operating underone of the plurality of second conditions; and generating a deviceprofile for the color device under the one of the plurality of secondconditions from the second input and a device profile of the colordevice.
 52. A medium as in claim 49 wherein the first color correctionoperation is performed using the first device profile.
 53. A medium asin claim 52 wherein said performing the first color correction operationcomprises: converting between a first color data for the color deviceoperating under the first condition and a second color data according tothe first device profile.
 54. A medium as in claim 37 wherein the colordevice comprises one of: a) a scanner; b) a camera; c) a video camera;d) a printer; e) a display device; and f) a television set.
 55. A colordevice for operation under various conditions, the device comprising:means for performing a first color correction operation for the colordevice operating under a first condition according to a first input anda plurality of second color correction operations for the color deviceoperating under a plurality of second conditions, the first inputindicating a relation between the first condition and the plurality ofsecond conditions.
 56. A color device as in claim 55 further comprising:means for receiving a second input from a user interface to define oneof the plurality of second color correction operations for the colordevice operating under one of the plurality of second conditions.
 57. Acolor device as in claim 56 wherein the second input calibrates the oneof the plurality of second color correction operations according to aperspective of a user for the color device operating under the one ofthe plurality of second conditions.
 58. A color device as in claim 57wherein the one of the plurality of second color correction operationscorrects a color data for a plurality of grays to maintain a consistentwhite point according to the perspective of the user for the colordevice operating under the one of the plurality of second conditions.59. A color device as in claim 58 wherein the plurality of grayscomprises at least one of: a) black; b) white.
 60. A color device as inclaim 55 further comprising: means for receiving the first input from auser interface.
 61. A color device as in claim 60 wherein the firstinput specifies weights for the plurality of second conditions; and thefirst color correction operation is an average of the plurality ofsecond color correction operations weighted according to the weights.62. A color device as in claim 61 further comprising: means forproviding feedback to demonstrate one or more colors corrected by thefirst color correction operation in response to the first input.
 63. Acolor device as in claim 62 wherein the one or more colors comprise aplurality of grays.
 64. A color device as in claim 62 wherein the colordevice comprises a display device; and, the feedback is displayed on thedisplay device operating under the first condition.
 65. A color deviceas in claim 55 further comprising: means for receiving the first inputfrom a sensor.
 66. A color device as in claim 65 wherein the sensorquantifies at least one parameter; the first input comprises the atleast one parameter for the first condition; and, the first colorcorrection operation is an interpolation of the plurality of secondcolor correction operations according to the at least one parameter. 67.A color device as in claim 55 further comprising: means for generating afirst device profile for the color device operating under the firstcondition from the first input and a plurality of second deviceprofiles, the plurality of second device profiles corresponding to theplurality of second color correction operations for the color deviceoperating under the plurality of second conditions.
 68. A color deviceas in claim 67 wherein each of the first device profile and theplurality of second device profiles is defined in a device profilespace; and, the first device profile is generated from an interpolationconstrained in a subspace of the device profile space according to thefirst input.
 69. A color device as in claim 67 further comprising: meansfor receiving a second input from a user interface to define one of theplurality of second color correction operations for the color deviceoperating under one of the plurality of second conditions; and means forgenerating a device profile for the color device under the one of theplurality of second conditions from the second input and a deviceprofile of the color device.
 70. A color device as in claim 67 whereinthe first color correction operation is performed using the first deviceprofile.
 71. A color device as in claim 70 wherein said means forperforming the first color correction operation comprises: means forconverting between a first color data for the color device operatingunder the first condition and a second color data according to the firstdevice profile.
 72. A color device as in claim 55 wherein the colordevice comprises one of: a) a scanner; b) a camera; c) a video camera;d) a printer; e) a display device; and f) a television set.